/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package model;

import java.io.Serializable;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 *
 * @author Wagner Segato dos Santos
 */
@Entity
@Table(name = "morador")
public class Morador implements Serializable {

    // Atributos
    @Id
    @GeneratedValue
    private Integer id;
    @Column(name = "nome", length = 50, nullable = false)
    private String nome;
    @Column(name = "cpf", length = 14, nullable = false, unique = true)
    private String cpf;
    @Column(name = "rg", length = 14, nullable = false)
    private String rg;
    @Column(name = "orgao", length = 7, nullable = false)
    private String orgao;
    @Column(name = "endereco", length = 100, nullable = false)
    private String endereco;
    @Column(name = "bairro", length = 50)
    private String bairro;
    @Column(name = "telefone", length = 14)
    private String telefone;
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER, mappedBy = "destinatario")
    private List<Correspondencia> correspondencias;


    // Construtor padrão
    public Morador() {
    }

    /** Getters and Setters */
    public String getBairro() {
        return bairro;
    }

    public void setBairro(String bairro) {
        this.bairro = bairro;
    }

    public String getCpf() {
        return cpf;
    }

    public void setCpf(String cpf) {
        this.cpf = cpf;
    }

    public String getEndereco() {
        return endereco;
    }

    public void setEndereco(String endereco) {
        this.endereco = endereco;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public String getOrgao() {
        return orgao;
    }

    public void setOrgao(String orgao) {
        this.orgao = orgao;
    }

    public String getRg() {
        return rg;
    }

    public void setRg(String rg) {
        this.rg = rg;
    }

    public String getTelefone() {
        return telefone;
    }

    public void setTelefone(String telefone) {
        this.telefone = telefone;
    }
    public List<Correspondencia> getCorrespondencias() {
        return correspondencias;
    }

    public void setCorrespondencias(List<Correspondencia> correspondencias) {
        this.correspondencias = correspondencias;
    }

    @Override
    public String toString() {
        return "Informações do morador:"
                + "\nID: " + this.id
                + "\nNome: " + this.nome
                + "\nCPF: " + this.cpf
                + "\nRG: " + this.rg
                + "\nOrgão: " + this.orgao
                + "\nEndereço: " + this.endereco
                + "\nBairo: " + this.bairro
                + "\nTelefone: " + this.telefone;
    }
}
